package coder.nav.model.vo;

import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import org.apache.commons.lang3.StringUtils;

import java.io.Serializable;
import java.util.Objects;

@Data
public class NavMemoVO implements Serializable {

    /**
     * 主键id
     */
    @ApiModelProperty("主键id")
    private Long id;

    /**
     * 主键id
     */
    @ApiModelProperty("用户id")
    private Long userId;

    /**
     * 父节点id
     */
    @ApiModelProperty("父节点id")
    private Long parentId;

    /**
     * 类型 0目录 1文件
     */
    @ApiModelProperty("类型 0目录 1文件")
    private Integer type;

    /**
     * 排序（数值越大越靠前）
     */
    @ApiModelProperty("排序（数值越大越靠前）")
    private Integer sort;

    /**
     * 标题
     */
    @ApiModelProperty("标题")
    private String title;

    /**
     * 内容
     */
    @ApiModelProperty("内容")
    private String context;

    /**
     * 图标
     */
    @ApiModelProperty("图标")
    private String icon;

    /**
     * 分享id
     */
    @ApiModelProperty("分享id")
    private String shareId;

    /**
     * 节点是否展开（0否 1是）
     */
    @ApiModelProperty("节点是否展开（0否 1是）")
    private Integer isExpand;

    /**
     * 是否已删除（0否 1是）
     */
    @ApiModelProperty("是否已删除（0否 1是）")
    private Integer isDeleted = 0;

    /**
     * 是否编辑中
     */
    @ApiModelProperty("是否编辑中")
    private Integer isEditing = 0;

    /**
     * 编辑模式 sv, ir, wysiwyg
     */
    @ApiModelProperty("编辑模式 sv, ir, wysiwyg")
    private String vditorMode;

    public String getIcon() {
        if(StringUtils.isNotBlank(this.icon)) {
            return this.icon;
        }
        if(Objects.equals(this.type, 0)) {
            return "📁";
        }
        return "📄";
    }

}
